package com.ruoyi.system.mapper;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.system.domain.OrderList;
import com.ruoyi.system.dto.UserYkDTO;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

/**
 * 订单明细Mapper接口
 * 
 * @author ruoyi
 * @date 2022-05-24
 */
public interface OrderListMapper 
{
    /**
     * 查询订单明细
     * 
     * @param id 订单明细主键
     * @return 订单明细
     */
    public OrderList selectOrderListById(Integer id);

    /**
     * 查询订单明细列表
     * 
     * @param orderList 订单明细
     * @return 订单明细集合
     */
    public List<OrderList> selectOrderListList(OrderList orderList);

    /**
     * 新增订单明细
     * 
     * @param orderList 订单明细
     * @return 结果
     */
    public int insertOrderList(OrderList orderList);

    /**
     * 修改订单明细
     * 
     * @param orderList 订单明细
     * @return 结果
     */
    public int updateOrderList(OrderList orderList);

    /**
     * 删除订单明细
     * 
     * @param id 订单明细主键
     * @return 结果
     */
    public int deleteOrderListById(Integer id);

    /**
     * 批量删除订单明细
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteOrderListByIds(Integer[] ids);

    BigDecimal getKucunValue(@Param("userId") String userId);

    List<OrderList> selectOrderListNew(OrderList orderList);

    int selectOrderListByDeliveryStatus(@Param("status") int i);

    int disableShouji();

    BigDecimal selectAllBackpack();

    List<OrderList> selectUserShangList(@Param("userId")Object userId,@Param("insurance") Integer insurance,
                                        @Param("orderType") Integer orderType,@Param("status") Integer status);

    List<OrderList> selectShouji(int i, @Param("start") String start, @Param("end") String end);

    List<OrderList> selectYFSYKByTime(@Param("start") String start,@Param("end") String end);

    BigDecimal selectAllBackpackV2(@Param("ifPrivate") Integer ifPrivate);

    List<OrderList> selectUserShangListV2(@Param("userId")Object userId,@Param("insurance") Integer insurance,
                                          @Param("orderType") Integer orderType,@Param("status") Integer status,@Param("yfOrWx") Integer yfOrWx);

    BigDecimal selectSumByStartAndEndAndUserId(@Param("userYkDTO") UserYkDTO userYkDTO);
}
